package collection;

import java.sql.SQLOutput;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * 对字符串进行排序
 */
public class SortString {
    public static void main(String[] args) {
        /*
        List<String>list = new ArrayList<>();
        list.add("jack");
        list.add("rose");
        list.add("tom");
        list.add("jerry");
        list.add("black");
        list.add("kobe");
        System.out.println("list原始数据："+list);  //[jack, rose, tom, jerry, black, kobe]


        //对英文字符串排序是，会按首字母的ASCII码进行排序
        //首字母相同，则比较第2个字母的ASCII码，以此类推
        Collections.sort(list);  //升序
        System.out.println("list排序后的数据"+list);  //[black, jack, jerry, kobe, rose, tom]
        */

        List<String>list = new ArrayList<>();
        list.add("王克晶");
        list.add("伟奇老师很幽默");
        list.add("伟超老师");
        System.out.println("原始数据："+list);

        //  Collections.sort(list);  //[王克晶, 伟奇老师很幽默, 伟超老师]
        Collections.sort(list, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                 return o1.length()-o2.length();  //升序
                //return o2.length()-o1.length();  //降序
            }
        });

        /*Lambda表达式写法
        Collections.sort(list,( o1,  o2) ->o1.length()-o2.length()); //升序
                                        // o2.length()-o1.length();  //降序
                                        */
        System.out.println("list排序后数据："+list);  //[王克晶, 伟超老师, 伟奇老师很幽默]







    }
}
